Webhook Result

Use this endpoint to retrieve asynchronous phone or waterfall enrichment results for your team's Apollo workspace. You can poll for results instead of receiving a webhook, or retrieve a result when the original callback wasn't received.

Key concepts

Webhooks and pollingA webhook sends completed enrichment results to a URL you provide. Polling lets your system request those results from Apollo. To use polling without a webhook, set poll_only to true on the enrichment request and omit webhook_url.
Identifying the requestPeople enrichment and bulk people enrichment return a request_id for asynchronous results. Pass that value unchanged to poll webhook result. It identifies the enrichment request, rather than a person or contact, and can be positive or negative.
Pending and completed resultsA pending result returns 404 with error_code: result_pending and a retry_after_seconds interval. Wait before checking again. A completed result returns 200 with the result payload.
Result availabilityResults remain available for thirty days after the webhook was triggered. An unknown, expired, or invalid request ID requires a different response from your system than a result that's still processing.

Choose an endpoint

I want to . . .Use this
Retrieve asynchronous enrichment results using a request IDPoll webhook result

Example workflows

Retrieve phone enrichment results by polling

Request available phone numbers for a person, then retrieve the completed results without configuring a webhook.

  1. Call people enrichment with identifying information for the person, reveal_phone_number set to true, and poll_only set to true. Omit webhook_url.
  2. Retain the request_id from the enrichment response.
  3. Pass that value as request_id to poll webhook result.
  4. If the response indicates result_pending, wait for the returned retry_after_seconds interval and check again. When the result returns 200, use the available phone data in your system.

Stop polling if the response indicates request_id_unknown, request_id_expired, or invalid_request_id. Check an unknown or invalid ID against the original response. If the result has expired, submit a new enrichment request.

The same polling process applies to asynchronous results from bulk people enrichment and waterfall enrichment requests.

Learn more: Use the people enrichment and poll webhook result references to dig in to the workflow.